In general, electronic musical instruments have been used to generate music for a number of years. These instruments generate musical sound by implementing one of a number of synthesis techniques and generally require some specialized hardware dedicated to sound generation. Some of the techniques typically used for musical sound synthesis are: wavetable (i.e. pulse code modulation (PCM) data of actual sounds), frequency modulation (FM), analog and physical modeling.
In the wavetable technique, the waveform of the tone to be generated is stored in a digitized format in a read-only memory (ROM). The digital waveform is retrieved from memory, processed and then converted from a digital format to an analog signal to generate the tone. As shown in FIG. 12, a PCM wavetable algorithm plays a sampled sound 100 into a filter 102 whose output can be modulated in a mixer 104 according to a volume input. The sampled sound may be looped to conserve memory. The sample is started at the beginning (although this can be a modulation destination), and loops between the loop start and loop end while the key is held down. As soon as the key is released, the sample can continue to loop, or play until the end of the sample. The filter is typically a one pole, two pole cascaded, four pole cascaded, or four pole cascaded resonant filter, but could be any type of filter such as a low pass or even a high pass filter. The equation for each pole is: yn!=c*xn!+(1-c)*yn-1!, where yn! is the filter pole output, c is the filter coefficient, and xn! is the filter pole input. The four pole cascaded resonant filter takes the output of the fourth cascaded section and mixes it back with the filter input to the first pole with a gain: x0n!=inputn!+r*y3 n-1!, where x0n! is the input to the first pole filter, inputn! is the main input to the entire filter, and y3n-1! is the main output of the entire filter.
In FM synthesis, the tones are obtained by manipulating the modulation and carrier signals to a voltage controlled oscillator (VCO). As shown in FIG. 13, the FM synthesis algorithm uses a pair of oscillators for its basic function. One oscillator (modulator) frequency modulates the other (carrier). With multiple modulator and carrier oscillators and arrangements modulations, many musically interesting sounds are created. The oscillators are typically sine waves, but can be any smooth waveform. They have to be smooth because high-frequency content waveforms create a lot of aliasing when used in FM configurations. The basic FM pair has the left most operator (modulator) frequency modulating the right most operator (carrier), as shown in FIG. 14. Other arrangements are possible, for example, a three-operator version is shown in FIG. 15.
Analog synthesizers use multiple oscillators that can be preselected to produce different waveforms such as triangle, sawtooth or pulse. The outputs of the different oscillators are summed and their combined signal becomes the musical sound. As seen in FIG. 16, the analog model uses three oscillators summed into a one pole, two pole, four pole, and four pole resonant filter. The oscillators are of fixed types: usually sawtooth, triangle, pulse, and noise. The same filter as used in the PCM algorithm can be used. Alternatively, more sophisticated variations of such a filter can be used.
The approach of physical modeling is to model the physical structure of the instrument in software. The tone requested is input to the model for the instrument and the software program generates a digital waveform for the musical signal. Referring to FIG. 17, the basic clarinet model uses a non-linearity to model the clarinet reed and a delay line and one pole filter to model the bore.
For examples of the above techniques, see U.S. Pat. Nos. 4,597,318 (wave generating method), 4,173,164 (FM synthesis), 4,131,049 (wavetable), and 4,018,121 (FM synthesis).
Not all the techniques above are appropriate for all the musical instruments that a user may be wish to synthesize. For example, physical modeling is an excellent way to reproduce the sound of a clarinet. A piano, however, may be more effectively reproduced using wavetables. In addition, the type of sound generated by one technique may be more desirable than others. For instance, the characteristic sound obtained from an analog synthesizer is highly recognizable and, in some cases, desirable.
Because the specific hardware requirements for each technique are different, existing electronic instruments tend to implement only one technique. This limits the range of the musical instruments and tones that the device can satisfactorily reproduce.
Also, the specialized hardware involved generally contributes to existing electronic synthesizers being expensive dedicated use equipment.
The synthesis techniques above can also be accomplished by the use of software algorithms. See U.S. Pat. No. 4,984,276. In some existing systems, a dedicated digital signal processor (DSP) is used to provide the computing power needed to perform the extensive processing required for the sound synthesis algorithms. DSP based synthesizer equipment is also highly specialized and expensive. See U.S. Pat. No. 5,376,752, for example.
With the increased power of the central processing units (CPUS) that are now built into personal computers (PCs), a PC can perform the synthesis algorithms and convert the digital codes to an audio signal with nothing more than the addition of a coder/decoder (CODEC) device. CODECs are already a standard feature of many PCs and are emerging as standard equipment in the designs now entering the PC marketplace.
There is a need to provide a low cost, high quality sound synthesis system at a low cost.
There is a further need to provide a sound synthesis system which is compatible with a wide variety of personal computers and operating systems.